Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Dklab_Realplexor: Comet-сервер промышленного масштаба с API для PHP и JavaScript (Дмитрий Котеров)
Goto page Previous  1, 2, 3 ... 7, 8, 9, 10, 11  Next
Author Message
degtyaryov
Заглянувший



Joined: 13 Jul 2011
Posts: 4
Карма: 0
   поощрить/наказать


PostPosted: Wed Jul 13, 2011 1:31 pm (написано за 45 секунд)
   Post subject:
Reply with quote

[b]degtyaryov[b]
В опере такой костыль не прокатил... Может можно что-то сделать?
Back to top
View user's profile Send private message
redhummer
Заглянувший



Joined: 19 Oct 2006
Posts: 8
Карма: 2
   поощрить/наказать


PostPosted: Mon Aug 15, 2011 8:31 am (спустя 1 месяц 1 день 18 часов 59 минут; написано за 1 минуту 44 секунды)
   Post subject:
Reply with quote

Отправляю большие тексты, которые успешно отправляются в бэкграунд, но подписчики не получают их. Пример holyrace.ru/channel/dklab_realplexor

Доп. инфо:
К тому же после отправки большого текста подписчики не могут получить и короткие сообщения.
IN_MAXLEN и WAIT_MAXLEN ставил и 1024 * 200 и даже 1024 * 1024. Естественно после правки конфига делал рестарт реалплексора.
Back to top
View user's profile Send private message Send e-mail
vik76
Заглянувший



Joined: 26 Oct 2010
Posts: 10
Карма: 0
   поощрить/наказать


PostPosted: Mon Aug 15, 2011 2:53 pm (спустя 6 часов 21 минуту; написано за 4 минуты 20 секунд)
   Post subject:
Reply with quote

Добрый день!
У кого настроено через ngnix, поглядите у себя лог, есть ли проблемы?
У меня очень много ошибок типа:
2011/08/15 12:41:44 [error] 27187#0: *8085 upstream timed out (60: Operation timed out) while reading upstream, client: xxx.xxx.90.68, server: rpl.www.xxxxxxx, request: "GET /?identifier= ... и т.д.
Насколько я понимаю, это тот самый запрос к серверу, который постоянно висит и ждет данные. Обрывается раз в 2 минуты (настройка в nginx).
Я так думаю, что это нормальное поведение или нужно что-то менять?
Back to top
View user's profile Send private message Send e-mail
VladOK
Guest





Карма: 388
   поощрить/наказать


PostPosted: Fri Aug 19, 2011 2:48 pm (спустя 3 дня 23 часа 55 минут; написано за 4 минуты 53 секунды)
   Post subject: Удаление сообщения из канала realplexora.
Reply with quote

Добрый день.
В моем случае в вывод данных из каналов реалплексора зависит друг от друга, т.е. в зависимости от параметров которые приходят, изменяется поведение программы. И если страницу не перезагружать, все работает хорошо. Но как только происходит перезагрузка - данные поступают в разных последовательностях и приложение работает некорректно.

Вопрос: как удалить сообщение из канала?

Спасибо.
Back to top
J3FF3
Заглянувший



Joined: 27 Aug 2011
Posts: 1
Карма: 0
   поощрить/наказать


PostPosted: Sat Aug 27, 2011 11:31 pm (спустя 8 дней 8 часов 43 минуты; написано за 7 минут 36 секунд)
   Post subject:
Reply with quote

День добрый. Подскажите, за что отвечают следующие переменные в конфиге:
1. WAIT_TIMEOUT => 300,
Думал, что это время, на протяжении которого существует соединение, потом обрывается и создается новое. Но у меня обрывается каждую минуту (по дефолту настройки), потому не понял назначения этой настройки.

2. IN_TIMEOUT => 20,
3. JS_MAX_BOUNCES => 10,


Еще что было замечено - через 10 минут, если страницу не трогать и не отправлять ей сообщений, то начинает увеличиваться интервал между переподключениями. Вот до этих ~10 минут - все нормально, соединение рвется (если ничего не было прислано за 1 минуту), и сразу же новое создается. Но после 10 мин. простоя этот интервал постепенно растет до 1 минуты между переподключениями. Иначе говоря, прошло 10 мин простоя, соединение в очередной раз разрывается, но не сразу новое происходит, а через промежуток времени. И если что-то отправить в этот промежуток, то ничего не приходит, а приходит тогда, когда проходит эта минута и соединение все-таки создается. После получения сообщения опять начинается такая десятиминутка. Может это настройка какая-то, я не в курсе. Но хотелось бы это как-то убрать.
Back to top
View user's profile Send private message
aml
Заглянувший



Joined: 25 Mar 2011
Posts: 4
Карма: 1
   поощрить/наказать


PostPosted: Thu Sep 08, 2011 10:51 am (спустя 11 дней 11 часов 20 минут; написано за 2 минуты 47 секунд)
   Post subject:
Reply with quote

vik76, кажется, я догадываюсь, в чём дело. Ваша проблема имеет отношение к той, что я нашёл.

В Realplexor::Common есть место:
Code (perl): скопировать код в буфер обмена
                # Attention! We MUST use print, not syswrite, because print correctly
                # continues broken transmits for large data packets.
                my $r1 = (print (www.perldoc.com/perl5.6/pod/func/print.html) $fh $out) && 1;    $r1 = "undef" if !defined (www.perldoc.com/perl5.6/pod/func/defined.html) $r1;
                my $r2 = _shutdown_fh($fh) && 1;   $r2 = "undef" if !defined (www.perldoc.com/perl5.6/pod/func/defined.html) $r2;
Штука в том, что print никаких continues не делает. В логах: print=undef, shutdown=1
Это проявляется именно на больших пакетах, когда Realplexor разом выдаёт большую пачку данных.
Клиенту приезжает кусок данных, отрезанный в каком-то месте, где буфер закончился. Данные, естественно битые, несчастный клиент делает JS_BOUNCES попыток переполучить данные и сдаётся.
Back to top
View user's profile Send private message Send e-mail
aml
Заглянувший



Joined: 25 Mar 2011
Posts: 4
Карма: 1
   поощрить/наказать


PostPosted: Thu Sep 08, 2011 11:29 am (спустя 38 минут; написано за 34 секунды)
   Post subject:
Reply with quote

Собственно патч. Заменить вышеуказанный блок кода на:
Code (perl): скопировать код в буфер обмена
                my @r1;
                my $offset = 0;
                while ($offset < length (www.perldoc.com/perl5.6/pod/func/length.html)($out)) {
                        my $r1 = syswrite (www.perldoc.com/perl5.6/pod/func/syswrite.html) $fh, $out, 65536, $offset;
                        unless (defined (www.perldoc.com/perl5.6/pod/func/defined.html)($r1)) {
                                push (www.perldoc.com/perl5.6/pod/func/push.html) @r1, $!;
                                last;
                        }
                        push (www.perldoc.com/perl5.6/pod/func/push.html) @r1, $r1;
                        $offset += $r1;
                }
                my $r1 = join (www.perldoc.com/perl5.6/pod/func/join.html)(',', @r1);
                my $r2 = _shutdown_fh($fh) && 1;   $r2 = "undef" if !defined (www.perldoc.com/perl5.6/pod/func/defined.html) $r2;
Back to top
View user's profile Send private message Send e-mail
dkirpa
Guest





Карма: 388
   поощрить/наказать


PostPosted: Tue Oct 04, 2011 3:42 pm (спустя 26 дней 4 часа 12 минут; написано за 5 минут 9 секунд)
   Post subject: Клиентская архитектура
Reply with quote

Вопрос по клиентской архитектуре.

Есть желание модифицировать realplexor для кросс-доменной работы, для этого пытаюсь с клиентской части лонг-поллинг запрос
делать с помощью easyXDM, для этого нужно добраться непосредственно до функции отправки самого запроса.

Итак вопрос, в чем необходимость объект Dklab_Realplexor_Loader подгружать через iFrame, разве нельзя к примеру вставить код
объекта как обычный джава-скрипт страницы (как ту же апи-шку) или от меня ускальзает какой-то скрытый смысл?
Back to top
Davinchi_
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sun Oct 16, 2011 11:39 pm (спустя 12 дней 7 часов 57 минут; написано за 48 секунд)
   Post subject:
Reply with quote

при запросе # wget chat.polygon.local:8088
--2011-10-17 00:34:24-- chat.polygon.local:8088/
Преобразование адреса chat.polygon.local... ошибка: Имя или служба не известны.
wget: не могу получить адрес хоста «chat.polygon.local»


лог ошибок
Oct 17 00:34:41 polygon realplexor/dklab_realplexor.conf: at /opt/dklab_realplexor/dklab_realplexor.pl line 54
Oct 17 00:34:43 polygon realplexor/dklab_realplexor.conf: [Sun Oct 16 23:24:31 2011] Starting. Opened files limit (ulimit -n): 1048576.
Oct 17 00:34:43 polygon realplexor/dklab_realplexor.conf: [pairs_by_fhs=0 data_to_send=0 connected_fhs=0 online_timers=0 cleanup_timers=0 events=0]
Oct 17 00:34:43 polygon realplexor/dklab_realplexor.conf: [Sun Oct 16 23:24:31 2011] CONFIG: appending configuration from /etc/dklab_realplexor.conf
Oct 17 00:34:43 polygon realplexor/dklab_realplexor.conf: [pairs_by_fhs=0 data_to_send=0 connected_fhs=0 online_timers=0 cleanup_timers=0 events=0]
Oct 17 00:34:43 polygon realplexor/dklab_realplexor.conf: 127.0.0.1:8088: IO::Socket::INET: Адрес уже используется at /opt/dklab_realplexor/dklab_realplexor.pl line 54

в результате не работает, как исправить данную проблему?
Back to top
aspy
Заглянувший



Joined: 15 Oct 2011
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Mon Oct 17, 2011 5:23 am (спустя 5 часов 43 минуты; написано за 54 секунды)
   Post subject:
Reply with quote

Davinchi_, покажите конфиги realplexor'а и веб-сервера.
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Mon Oct 17, 2011 8:22 am (спустя 2 часа 59 минут; написано за 3 минуты 26 секунд)
   Post subject:
Reply with quote

конфиг nginx:
server {
server_name polygon.local;
listen 80; #
location / {
proxy_pass 127.0.0.1:8080;
}
}

server {
server_name chat.polygon.local; # Для поддомена realplexor
listen 80; # порт который слушает nginx
location / {
proxy_pass 127.0.0.1:8088; # Запрос будет обрабатываться Реалплексором на порту где он запущен 8088
 }
}


Конфиг Apache
<VirtualHost 127.0.0.1:8080>
    ServerName polygon.local
    ServerAlias www.polygon.local
    DocumentRoot /home/user/www/
    DirectoryIndex index.php index.html
</VirtualHost>

в фаиле ports.conf
# NameVirtualHost *:8080
Listen 8080

Конфиг realplexor
$CONFIG{WAIT_ADDR} = [ '127.0.0.1:8080' ];
$CONFIG{IN_ADDR} = [ '127.0.0.1:10010' ];
   return 1;
Back to top
Davinchi_
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Oct 17, 2011 8:23 am (спустя 1 минуту 16 секунд)
   Post subject:
Reply with quote

конфиг nginx:
server {
server_name polygon.local;
listen 80; #
location / {
proxy_pass 127.0.0.1:8080;
}
}

server {
server_name chat.polygon.local; # Для поддомена realplexor
listen 80; # порт который слушает nginx
location / {
proxy_pass 127.0.0.1:8088; # Запрос будет обрабатываться Реалплексором на порту где он запущен 8088
 }
}


Конфиг Apache
<VirtualHost 127.0.0.1:8080>
    ServerName polygon.local
    ServerAlias www.polygon.local
    DocumentRoot /home/user/www/
    DirectoryIndex index.php index.html
</VirtualHost>

в фаиле ports.conf
# NameVirtualHost *:8080
Listen 8080

Конфиг realplexor
$CONFIG{WAIT_ADDR} = [ '127.0.0.1:8080' ];
$CONFIG{IN_ADDR} = [ '127.0.0.1:10010' ];
   return 1;
Back to top
aspy
Заглянувший



Joined: 15 Oct 2011
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Mon Oct 17, 2011 10:46 am (спустя 2 часа 22 минуты; написано за 5 минут 11 секунд)
   Post subject:
Reply with quote

У меня аналогичная настройка, только я не использую apache.
Посмотрите на мои настройки может поможет :)

Config of nginx:
Code (Bash): скопировать код в буфер обмена
server {
        listen   192.168.1.22:80;
        server_name realplexor.com; # основной хост

        autoindex off;

        access_log /var/log/nginx/realplexor.com.access_log main;
        error_log /var/log/nginx/realplexor.com.error_log info;

        set $www_root "/home/user/www/realplexor.com/www";

        location / {
                root   $www_root;
                index  index.php index.html index.htm;
        }

        location ~ .php {
                include fastcgi_params;
                fastcgi_pass  unix:/var/run/php.socket;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $www_root$fastcgi_script_name;
        }
}
Code (Bash): скопировать код в буфер обмена
server {
        listen   192.168.1.22:80;
        server_name www.realplexor.com; #хост для realplexor'а

        location / {
                proxy_pass http://127.0.0.1:8088; # Запрос будет обрабатываться Реалплексором на порту где он запущен 8088
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
}
Config of /etc/dklab_realplexor.conf
Code (Bash): скопировать код в буфер обмена
$CONFIG{WAIT_ADDR} = [ '127.0.0.1:8088' ];
return 1;
Обратите внимание у вас $CONFIG{WAIT_ADDR} = [ '127.0.0.1:8080' ];
Back to top
View user's profile Send private message
Davinchi_
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Oct 17, 2011 11:53 am (спустя 1 час 7 минут; написано за 38 секунд)
   Post subject:
Reply with quote

aspy wrote:
Обратите внимание у вас $CONFIG{WAIT_ADDR} = [ '127.0.0.1:8080' ];
это описался естественно должно быть $CONFIG{WAIT_ADDR} = [ '127.0.0.1:8088' ]
Apache необходим
Back to top
aspy
Заглянувший



Joined: 15 Oct 2011
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Mon Oct 17, 2011 12:57 pm (спустя 1 час 3 минуты; написано за 1 минуту 30 секунд)
   Post subject:
Reply with quote

Попробуйте настроить realplexor на другой порт
Back to top
View user's profile Send private message
Davinchi_
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Oct 17, 2011 2:49 pm (спустя 1 час 51 минуту; написано за 51 секунду)
   Post subject:
Reply with quote

У кого нибудь есть рабочий вариант настроек связки realplexor+nginx+Apache?
Back to top
Davinchi_
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Oct 17, 2011 10:41 pm (спустя 7 часов 52 минуты; написано за 1 минуту 22 секунды)
   Post subject:
Reply with quote

После добавления в hosts
Code (Bash): скопировать код в буфер обмена
127.0.0.1 chat.polygon.local
plexor начал запускаться но не отображаются сообщения
Back to top
aspy
Заглянувший



Joined: 15 Oct 2011
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Tue Oct 18, 2011 5:23 am (спустя 6 часов 41 минуту; написано за 3 минуты 17 секунд)
   Post subject:
Reply with quote

Davinchi_ wrote:
После добавления в hosts
Код (Bash):
127.0.0.1 chat.polygon.local
plexor начал запускаться но не отображаются сообщения
В файле fr_ids.php замените
Code (any language): скопировать код в буфер обмена
http://rpl.<?=$_SERVER['HTTP_HOST']?>
на
Code (any language): скопировать код в буфер обмена
http://chat.polygon.local
и проверьте правильность подключения
Code (php): скопировать код в буфер обмена
require_once "../../api/php/Dklab/Realplexor.php";
в файле _common.php.
Back to top
View user's profile Send private message
Davinchi_
Guest





Карма: 388
   поощрить/наказать


PostPosted: Tue Oct 18, 2011 8:41 am (спустя 3 часа 17 минут; написано за 1 минуту 48 секунд)
   Post subject:
Reply with quote

лог после перезапуска плексора
Code (Bash): скопировать код в буфер обмена
Oct 18 09:19:15 polygon realplexor/dklab_realplexor.conf: [Tue Oct 18 09:19:15 2011] SIGHUP received, reloading the config
Oct 18 09:19:15 polygon realplexor/dklab_realplexor.conf:   [pairs_by_fhs=0 data_to_send=4 connected_fhs=0 online_timers=0 cleanup_timers=4 events=0]
Oct 18 09:19:15 polygon realplexor/dklab_realplexor.conf: [Tue Oct 18 09:19:15 2011] CONFIG: appending configuration from /etc/dklab_realplexor.conf
Oct 18 09:19:15 polygon realplexor/dklab_realplexor.conf:   [pairs_by_fhs=0 data_to_send=4 connected_fhs=0 online_timers=0 cleanup_timers=4 events=0]
лог при запуске страници index с демо каналами
Code (Bash): скопировать код в буфер обмена
Oct 18 09:19:15 polygon realplexor/dklab_realplexor.conf:   [pairs_by_fhs=0 data_to_send=4 connected_fhs=0 online_timers=0 cleanup_timers=4 events=0]
Oct 18 09:19:15 polygon realplexor/dklab_realplexor.conf: [Tue Oct 18 09:19:15 2011] CONFIG: appending configuration from /etc/dklab_realplexor.conf
Oct 18 09:19:15 polygon realplexor/dklab_realplexor.conf:   [pairs_by_fhs=0 data_to_send=4 connected_fhs=0 online_timers=0 cleanup_timers=4 events=0]
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf: [Tue Oct 18 09:21:08 2011] IN: 127.0.0.1:38645: DEBUG: connection opened
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf:   [pairs_by_fhs=0 data_to_send=4 connected_fhs=0 online_timers=0 cleanup_timers=4 events=0]
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf: [Tue Oct 18 09:21:08 2011] IN: 127.0.0.1:38645: DEBUG: read 96 bytes
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf:   [pairs_by_fhs=0 data_to_send=4 connected_fhs=0 online_timers=0 cleanup_timers=4 events=0]
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf: [Tue Oct 18 09:21:08 2011] IN: 127.0.0.1:38645: DEBUG: parsed IDs
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf:   [pairs_by_fhs=0 data_to_send=4 connected_fhs=0 online_timers=0 cleanup_timers=4 events=0]
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf: [Tue Oct 18 09:21:08 2011] IN: 127.0.0.1:38645: DEBUG: received aux command: ONLINE demo_
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf:   [pairs_by_fhs=0 data_to_send=4 connected_fhs=0 online_timers=0 cleanup_timers=4 events=0]
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf: [Tue Oct 18 09:21:08 2011] IN: 127.0.0.1:38645: DEBUG: connection closed
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf:   [pairs_by_fhs=0 data_to_send=4 connected_fhs=0 online_timers=0 cleanup_timers=4 events=0]
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf: [Tue Oct 18 09:21:08 2011] IN: 127.0.0.1:38645: DEBUG: sending 0 online identifiers
Oct 18 09:21:08 polygon realplexor/dklab_realplexor.conf:   [pairs_by_fhs=0 data_to_send=4 connected_fhs=0 online_timers=0 cleanup_timers=4 events=0]
aspy wrote:
В файле fr_ids.php замените
заменено
aspy wrote:
и проверьте правильность подключения
проверено, у меня replexor.php находтся в той же папке что и index.php
соответственно путь
Code (Bash): скопировать код в буфер обмена
require_once "Realplexor.php";
Back to top
Davinchi_
Guest





Карма: 388
   поощрить/наказать


PostPosted: Tue Oct 18, 2011 8:46 am (спустя 5 минут; написано за 9 секунд)
   Post subject:
Reply with quote

Скрин экрана
[img]img-fotki.yandex.ru/get/4417/110263141.0/0_6107b_a9d95a9_S[/img]
Back to top
Davinchi_
Guest





Карма: 388
   поощрить/наказать


PostPosted: Tue Oct 18, 2011 8:47 am (спустя 1 минуту 8 секунд)
   Post subject:
Reply with quote

[img]<a href="fotki.yandex.ru/users/elnyatown/view/397435/"><img src="img-fotki.yandex.ru/get/4417/110263141.0/0_6107b_a9d95a9_L.jpg" width="500" height="293" title="" alt="" border="0"/></a><br/><a href="fotki.yandex.ru/users/elnyatown/view/397435/">Посмотреть на Яндекс.Фотках</a>[/img]
Back to top
Davinchi_
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Oct 19, 2011 8:34 am (спустя 23 часа 46 минут; написано за 45 секунд)
   Post subject:
Reply with quote

Спасибо всем кто отвечал, проблема решилась установкой Ubuntu 11.04 вместо 11.10
Back to top
krz
Заглянувший



Joined: 24 Oct 2011
Posts: 1
Карма: 0
   поощрить/наказать


PostPosted: Mon Oct 24, 2011 4:03 pm (спустя 5 дней 7 часов 28 минут; написано за 2 минуты 12 секунд)
   Post subject:
Reply with quote

Если кому-нибудь пригодится: у меня realplexor сломал ExtJS 4.0, в его части с загрузкой файла. Ext js грузит файл через iframe, но из-за того, что реалплексор меняет document.domain, экст уже не может получить результат загрузки. Лечится достаточно просто - надо эксту отдавать не просто json, а html/body/script, в котором прописывать нужный document.domain и уже после того заменять body.innerHTML на json.
Back to top
View user's profile Send private message
Neka
Заглянувший



Joined: 28 Oct 2011
Posts: 1
Карма: 0
   поощрить/наказать


PostPosted: Fri Oct 28, 2011 9:10 am (спустя 3 дня 17 часов 7 минут; написано за 1 минуту 34 секунды)
   Post subject:
Reply with quote

У меня в консоли фаербага пишет

Permission denied to access property 'Dklab_Realplexor_Loader'
receiver.comet.lc/dklab_realplexor.js
Line 60

Функция выглядит вот так:
Quote:
// Static function.
// Called when a realplexor iframe is loaded.
Dklab_Realplexor._iframeLoaded = function(id)
{
    var th = this._registry[id];
    // use setTimeout to let IFRAME JavaScript code some time to execute.
    setTimeout(function() {
        var iframe = document.getElementById(id);
>>> th._realplexor = iframe.contentWindow.Dklab_Realplexor_Loader;
        if (th.needExecute) {
            th.execute();
        }
    }, 50);
}
Эх, не силен я в JS, подскажите как исправить пожалуйста.
Back to top
View user's profile Send private message
aspy
Заглянувший



Joined: 15 Oct 2011
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Tue Nov 01, 2011 7:32 am (спустя 3 дня 22 часа 21 минуту; написано за 30 секунд)
   Post subject:
Reply with quote

Neka, это происходит во всех браузерах или в каком-то одном?
Back to top
View user's profile Send private message
brook
Guest





Карма: 388
   поощрить/наказать


PostPosted: Tue Nov 01, 2011 11:13 am (спустя 3 часа 41 минуту; написано за 35 секунд)
   Post subject: Тормоза realplexor
Reply with quote

Коллеги можете подсказать как побороли безумное потребление CPU?

Может настройки какие нибудь подтюнить можно?
Back to top
Александр Эсаулов
Участник форума



Joined: 16 Oct 2009
Posts: 38
Карма: 0
   поощрить/наказать


PostPosted: Sun Nov 20, 2011 11:31 pm (спустя 19 дней 12 часов 17 минут; написано за 1 минуту 30 секунд)
   Post subject:
Reply with quote

Никто не разобрался с проблемой переполнения буфера? А именно когда приходит обрезанный json в ответ. В логе появляется запись:
Code (php): скопировать код в буфер обмена
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: Caught a SIGTERM at Realplexor/Tools.pm line 54
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: #011(in cleanup) Can't call method "debug" on an undefined value at Realplexor/Event/Connection.pm line 82 during global destruction.
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: Use of uninitialized value $fh in delete at Storage/PairsByFhs.pm line 26 during global (www.php.net/global) destruction.
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: Use of uninitialized value $fh in delete at Storage/ConnectedFhs.pm line 27 during global (www.php.net/global) destruction.
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: Use of uninitialized value $fh in delete at Storage/ConnectedFhs.pm line 27 during global (www.php.net/global) destruction.
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: Use of uninitialized value $fh in delete at Storage/ConnectedFhs.pm line 27 during global (www.php.net/global) destruction.
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: Use of uninitialized value $fh in delete at Storage/ConnectedFhs.pm line 27 during global (www.php.net/global) destruction.
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: Use of uninitialized value $fh in delete at Storage/ConnectedFhs.pm line 27 during global (www.php.net/global) destruction.
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: Use of uninitialized value $fh in delete at Storage/ConnectedFhs.pm line 27 during global (www.php.net/global) destruction.
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: Use of uninitialized value $fh in delete at Storage/ConnectedFhs.pm line 27 during global (www.php.net/global) destruction.
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: Use of uninitialized value $fh in delete at Storage/ConnectedFhs.pm line 27 during global (www.php.net/global) destruction.
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: Use of uninitialized value $fh in delete at Storage/PairsByFhs.pm line 26 during global (www.php.net/global) destruction.
Nov 20 00:32:55 isi realplexor/dklab_realplexor.conf: #011(in cleanup) Can't call method "debug" on an undefined value at Realplexor/Event/Connection.pm line 82 during global destruction.
Nov 20 00:32:56 isi realplexor/dklab_realplexor.conf: Normally terminated.
Пробовал патч от aml, но не помогло.
Back to top
View user's profile Send private message
vik76
Заглянувший



Joined: 26 Oct 2010
Posts: 10
Карма: 0
   поощрить/наказать


PostPosted: Fri Nov 25, 2011 12:11 am (спустя 4 дня 40 минут; написано за 5 минут 15 секунд)
   Post subject:
Reply with quote

Привет всем.
В топе висит работающий перловый процесс показывающий загрузку проца 50%/60%.
Прибивание всех перловых процессов и старт реалплексора ничего не дает.
Это нормально почти на пустом сайте?!
Раньше вроде такого не было и почему сейчас такая загрузка, я не могу придумать.
Есть идеи? Или может у кого-то такая же ситуация?
Back to top
View user's profile Send private message Send e-mail
maxgu
Guest





Карма: 388
   поощрить/наказать


PostPosted: Fri Nov 25, 2011 3:35 pm (спустя 15 часов 23 минуты; написано за 7 секунд)
   Post subject: какие браузеры потдерживают realplexor?
Reply with quote

клиентская сторона (и данный тип соединения) работает во всех браузерах?
работает ли на мобильных устройсвах?
Back to top
skkn
Guest





Карма: 388
   поощрить/наказать


PostPosted: Tue Nov 29, 2011 8:49 pm (спустя 4 дня 5 часов 13 минут; написано за 1 минуту 6 секунд)
   Post subject: установка realplexor на ubuntu 10.10
Reply with quote

помогите установить realplexor на ubuntu 10.10
если не сложно, напишите краткий мануал.
ничего не получается :(
Back to top
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sun Dec 04, 2011 2:45 pm (спустя 4 дня 17 часов 55 минут; написано за 2 минуты 51 секунду)
   Post subject:
Reply with quote

пробовал поставить это чудо, по инструкции в статье:

cd /opt
wget github.com/DmitryKoterov/dklab_realplexor/tarball/master
tar zxf *realplexor*.tar.gz
mv *realplexor*/ dklab_realplexor

# Now deal with an init-script.
ln -s /opt/dklab_realplexor/dklab_realplexor.init /etc/init.d/dklab_realplexor
chkconfig --add dklab_realplexor
chkconfig dklab_realplexor on
service dklab_realplexor start

все замечательно установилось, но при выполнении service dklab_realplexor start вылетает сообщение

FAILED: /etc/dklab_realplexor.conf; see logs

по данному адресу нет такого файла, помогите кто нибудь
Back to top
skkn
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Dec 12, 2011 9:14 pm (спустя 8 дней 6 часов 29 минут; написано за 1 минуту 5 секунд)
   Post subject: Re: Тормоза realplexor
Reply with quote

brook wrote:
Коллеги можете подсказать как побороли безумное потребление CPU?
Может настройки какие нибудь подтюнить можно?
тоже интересно.
Back to top
aspy
Заглянувший



Joined: 15 Oct 2011
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Wed Dec 14, 2011 6:31 am (спустя 1 день 9 часов 17 минут; написано за 2 минуты 17 секунд)
   Post subject:
Reply with quote

Гость wrote:
пробовал поставить это чудо, по инструкции в статье:

cd /opt
wget github.com/DmitryKoterov/dklab_realplexor/tarball/master
tar zxf *realplexor*.tar.gz
mv *realplexor*/ dklab_realplexor

# Now deal with an init-script.
ln -s /opt/dklab_realplexor/dklab_realplexor.init /etc/init.d/dklab_realplexor
chkconfig --add dklab_realplexor
chkconfig dklab_realplexor on
service dklab_realplexor start

все замечательно установилось, но при выполнении service dklab_realplexor start вылетает сообщение

FAILED: /etc/dklab_realplexor.conf; see logs

по данному адресу нет такого файла, помогите кто нибудь
Для начала запустите dklab_realplexor.pl:
Code (Bash): скопировать код в буфер обмена
cd /opt/dklab_realplexor
/opt/dklab_realplexor/dklab_realplexor.pl
результат давайте сюда если сами не разберетесь, поможем чем можем :)
Back to top
View user's profile Send private message
aspy
Заглянувший



Joined: 15 Oct 2011
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Wed Dec 14, 2011 6:44 am (спустя 12 минут; написано за 4 минуты 41 секунду)
   Post subject:
Reply with quote

У меня проблема в IE7.

Написал простой онлайн-чат на realplexor + php.

В браузерах opera, firefox, chrome все работает отлично.

Но в IE7 проблема: сообщения(данные) уходят, но не приходят.

Подскажите в чем проблема.
Back to top
View user's profile Send private message
Davinchi_
Guest





Карма: 388
   поощрить/наказать


PostPosted: Fri Dec 16, 2011 9:36 am (спустя 2 дня 2 часа 52 минуты; написано за 2 минуты 43 секунды)
   Post subject:
Reply with quote

Возможно они (данные) приходят но не отображаются.
Можно попробывать скрипты клиента в html странице поместить между тегами
Code (any language): скопировать код в буфер обмена
<body></body>
Также посмотреть ошибки в IE через "средства разработчика F12"
Back to top
Lokidrow
Заглянувший



Joined: 08 Jan 2012
Posts: 1
Карма: 0
   поощрить/наказать


PostPosted: Sun Jan 08, 2012 10:59 am (спустя 23 дня 1 час 22 минуты; написано за 2 минуты 39 секунд)
   Post subject:
Reply with quote

С грехом пополам поднял Dklab_realplexor под Debian Stable + Apache2. Ни один алгоритм установки естественно не работал, под stable некоторых пакетов вообще нет в природе. Сейчас всё работает в мозилле и хроме, а в опере и IE8 нет. Такое впечатление что либо кэшируют и не держат запрос. На рутвите работает нормально, похоже что отличаются какие то серверные настройки, яваскрипты с виду одинаковые
Back to top
View user's profile Send private message
Guest






Карма: 388
   поощрить/наказать


PostPosted: Tue Jan 17, 2012 12:45 pm (спустя 9 дней 1 час 46 минут; написано за 19 секунд)
   Post subject:
Reply with quote

А авторы ПО тут так и не появляются ?
Back to top
brook
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Feb 01, 2012 4:47 pm (спустя 15 дней 4 часа 1 минуту; написано за 1 минуту 32 секунды)
   Post subject: не доходят сообщения
Reply with quote

КОллеги есть проблема может кто подскажет?

На сервере идут 2 send() одновременно - один в открытый канал, второй иногда в персональный, закрытый.

Но в chrome не получаем второе сообщение - после получения сообщения в публичном канале персональный молчит.

Причем в firefox, ie - все работает на ура, клиент получает 2 сообщения сразу.
Back to top
degtyaryov
Заглянувший



Joined: 13 Jul 2011
Posts: 4
Карма: 0
   поощрить/наказать


PostPosted: Wed Feb 01, 2012 7:30 pm (спустя 2 часа 43 минуты; написано за 28 секунд)
   Post subject: С++ версия сервера. Не полностью отдаёт HTML для IFRAME..
Reply with quote

Вечер добрый!

Perl версия не справляется с рассылками в канал ограниченному списку пользователей, упирается в процессор и в результате принимает от PHP каждую команду за 5-8 секунд, что приводит к неработоспособности сайта. Если делать все каналы уникальными и не делать массовых рассылок, то пока справляется, но тоже близок к 100% ЦПУ.

Решил попробовать C++ версию. Протестировал на тестовом сервере, никаких проблем не обнаружил. Все прекрасно работало. А на боевом сервере возникла проблема.

Если на самом сервере выполнить:
# telnet comet.site.ru 80
get /multiplexor/?identifier=IFRAME&HOST=site.ru&version=1.32.3

получаем:
HTTP/1.1 200 OK
Connection: close
Content-Type: text/html; charset=utf-8
Last-Modified: Thu, 12 Jan 2012 17:22:24 GMT
Expires: Wed, 08 Jul 2037 22:53:52 GMT
Cache-Control: public

<html>
<body>
<script language="JavaScript" type="text/javascript">
Dklab_Realplexor_Loader = {
        // Maximum bounce count.
        JS_MAX_BOUNCES: 3,

.................................
кусок пропущен
.................................

 </script>
</body>
</html>

Connection closed by foreign host.

А если тоже самое выполнить с сети интернет или с др. сервера того дата центра, то получаем не всё:
HTTP/1.1 200 OK
Connection: close
.................................
кусок пропущен
.................................
// Loop function.
        _loopFunc: function() {
                var requestId = this._makeRequestId();
                if (!requestId.length) return;
                var idParam = this.JS_IDENTIFIER + '=' + requestId;
                var url = null, postData = null;
                if (idParam.length + this.JS_WAIT_URI.length < 1700) {
                        // GET method is only for not too long URLs.
                        url = this.JS_WAIT_URI + '?' + idParam;
                        url += "&ncrnd=" + (new Date().getTime()); // for stupid IE
                } else {
                        // For very long IDs list - use POST method Connection closed by foreign host.

tcpdump говорит что именно dklab_realplexor закрывает соединение:
# tcpdump -i eth0 -n host comet.site.ru and port 80 -A
21:53:41.007666 IP 192.168.1.35.59141 > 87.250.251.11.http: Flags [s:995d17134c], seq 3057008343, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
E..4).@.@......#X..+...P.6>.......9.................
21:53:41.291928 IP 87.250.251.11.http > 192.168.1.35.59141: Flags [S.], seq 1048287054, ack 3057008344, win 14600, options [mss 1380,nop,nop,sackOK,nop,wscale 7], length 0
E..4..@.7...X..+...#.P..>{.N.6>...9.U^.....d........
21:53:41.291978 IP 192.168.1.35.59141 > 87.250.251.11.http: Flags [.], ack 1, win 115, length 0
E..().@.@......#X..+...P.6>.>{.OP..s....
21:53:43.199071 IP 192.168.1.35.59141 > 87.250.251.11.http: Flags [P.], seq 1:66, ack 1, win 115, length 65
E..i).@.@......#X..+...P.6>.>{.OP..s....get /multiplexor/?identifier=IFRAME&HOST=site.ru&version=1.32.3
.................................
кусок пропущен
.................................
                if (idParam.length + this.JS_WAIT_URI.length < 1700) {
                        // GET method is only for not too long URLs.
                        url = this.JS_WAIT_URI + '?' + idParam;
                        url += "&ncrnd=" + (new Date().getTime()); // for stupid IE
                } else {
                        // For very long IDs list - use POST method
21:53:43.574874 IP 192.168.1.35.59141 > 87.250.251.11.http: Flags [.], ack 6918, win 222, length 0
E..().@.@......#X..+...P.6?.>{.TP.......
21:53:43.582515 IP 87.250.251.11.http > 192.168.1.35.59141: Flags [F.], seq 6918, ack 66, win 115, length 0
E..(.8@.7.k.X..+...#.P..>{.T.6?.P..s..........
21:53:43.582665 IP 192.168.1.35.59141 > 87.250.251.11.http: Flags [F.], seq 66, ack 6919, win 222, length 0
E..(*.@.@......#X..+...P.6?.>{.UP.......
21:53:43.869446 IP 87.250.251.11.http > 192.168.1.35.59141: Flags [.], ack 67, win 115, length 0
E..(.9@.7.k.X..+...#.P..>{.U.6?.P..s.-........
^C
20 packets captured
24 packets received by filter
0 packets dropped by kernel


Файл Realplexor/Common.h строка 99:
fh->write(content);

Вывел перед ней содержимое content - не обрезано, содержит всё, а fh->write в сокет выдает не всё.

Почему так происходит? Как это можно исправить? Заранее спасибо..


Хотелось бы ещё иметь у реалплексора некий мультикомандный интерфейс для отправки команд из PHP, python и др, при этом API даже не изменится. HTTP интерфейс принимает только одну команду и обязательно закрывает соединение. Если подключиться к серверу и без разрыва коннекта отправлять неограниченное кол-во команд, то можно будет использовать persistent соединения(php pfsockopen). Это позволит исключить 3х секундные задерки при коннекте(клиент шлёт SYN пакет) когда высокая нагрузка на сервер.[/s:995d17134c]
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Wed Feb 01, 2012 11:23 pm (спустя 3 часа 52 минуты; написано за 35 секунд)
   Post subject:
Reply with quote


М

Ссылка на это обсуждение предыдущего поста тут:
https://github.com/DmitryKoterov/dklab_realplexor/issues/14
давайте там продолжать.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Goto page Previous  1, 2, 3 ... 7, 8, 9, 10, 11  Next
Page 8 of 11    Email to a Friend.
Post a reply
Username
Subject
Господа спамеры и оптимизаторы!

Вы можете даже и не пытаться вставлять в текст поста ссылки - они все равно автоматически удаляются (вернее, тэги <a> заменяются на тэги <u>).

Но если не поверите и все же попытаетесь - как только увидите, что все безрезультатно, удалите свой пост, пожалуйста. Модераторы тоже люди, нехорошо, если они погрязнут в тоннах спама.
     

Disable BBCode in this post
Disable Smilies in this post
    HTML is OFF
BBCode is ON
Smilies are ON
You cannot post new topics in this forum. You can reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML